package com.atguigu.tingshu.search.service;

import com.atguigu.tingshu.query.search.AlbumIndexQuery;
import com.atguigu.tingshu.vo.search.AlbumSearchResponseVo;

import java.util.List;
import java.util.Map;
import java.util.Optional;

public interface SearchService {


    /**
     * 上架专辑
     * @param albumId
     */
    void upperAlbum(Long albumId);

    /**
     * 下架专辑
     * @param albumId
     */
    void lowerAlbum(Long albumId);

    /**
     * 全文检索
     * @param albumIndexQuery
     * @return
     */
    AlbumSearchResponseVo search(AlbumIndexQuery albumIndexQuery);

    /**
     * 频道页数据
     * @param category1Id
     * @return
     */
    List<Map<String, Object>> channel(Long category1Id);

    /**
     * 搜索建议
     * @param keyword
     * @return
     */
    List<String> completeSuggest(String keyword);


    //  Optional<T> findById(ID id);
}
